#pragma once

#include <string>
#include <vector>
#include <cstdint>

struct Route {
    int id;
    int modid;
    int cmdid;
    uint32_t serverip;
    int serverport;
    
    static std::vector<Route> getAll();
    static Route getById(int id);
    static bool add(int modid, int cmdid, uint32_t serverip, int serverport);
    static bool update(int id, int modid, int cmdid, uint32_t serverip, int serverport);
    static bool remove(int id);
};

struct RouteChange {
    int id;
    int modid;
    int cmdid;
    std::string time;
    
    static std::vector<RouteChange> getAll();
    static bool insert(int modid, int cmdid);
};

struct Version {
    int id;
    int version;
    std::string time;
    
    static std::vector<Version> getAll();
    static bool update();
}; 